The invention relates to a sheet handling system, for example for handling documents of value such as banknotes.
Conventional banknote handling systems are purpose designed depending upon their field of use. For example, certain systems may be provided to operate on a single denomination of banknote and to sort such banknotes into those which are reusable, those which must be destroyed, and those which require manual inspection. Other systems are provided for sorting banknotes by denomination. The systems may simply stack the sorted banknotes or provide additional banding facilities and/or a shredding capacity. Operation of the system is controlled by a central controller which interfaces with the various components such as sensors and diverters to detect and categorise notes passing through the system and to control their destination.
The problem with existing systems is that they are relatively inflexible so that updating such systems to take account of improvements in software or hardware are time consuming and often require substantial redesign of the system.
In accordance with the present invention, a sheet handling system has a number of sheet processing modules linked together to enable sheets to pass between them, each sheet processing module including at least one sheet monitoring or handling component; a set of nodes, each including a processor, wherein each sheet processing module is controlled by one or more nodes; a distributed control system arranged logically into a number of subsystems, the functions of each subsystem being performed by one or more of the nodes; and a communications network linking the nodes together to enable the nodes to operate in synchronism and to communicate with each other.
We have developed a completely new approach to such sheet handling systems. Firstly, the system is arranged in the form of a number of physically discrete sheet processing modules and secondly the control system is arranged logically into a number of subsystems, the software for which is distributed (typically copied) across the nodes which control operation of the modules. In this way, individual modules can be replaced without the need to reconfigure the system while distributing the control system across the nodes leads to much more efficient control of the sheet handling system. The nodes can also be replaced with very little down time.
Typically, each module will be self-contained so that it can be built and tested independently of other modules. Thus, for example, a stacker module may contain a stacking component, a diverter for diverting sheets to the stacking component and a transport component for transporting sheets to the diverter. The module will have its own motor(s) for driving the transport, diverter and stacking components.
Typically, each node processor stores programmes which can be adapted on supply of suitable parameters to operate with one or more of a number of different sheet handling or monitoring components. In the preferred example, each node processor stores programmes which can be adapted on supply of suitable parameters to operate with any sheet handling or monitoring component. Clearly, the more commonality that exists between the nodes, the easier it is to manufacture and/or update the nodes while a single node construction can be used with a wide variety of sheet handling components. During the set up process, a node will be configured to operate with the particular component to which it is attached by supplying suitable control parameters from a central machine database. If, however, a sheet handling component is changed, the same node can easily be reconfigured by supplying different parameters so as to control the new sheet handling component. An example would be replacement of a sheet transport by a new transport which could be accelerated at a faster rate.
In a similar way each node will typically store software for performing all the subsystems of the control system. At set-up, the appropriate parts of this software will be activated in each node depending upon the function(s) it performs in the sheet handling system.
In order to coordinate operation of the system, in the preferred example, each subsystem operates in accordance with a common lifecycle, the control system further comprising a machine coordinator, typically residing on a node, for signalling steps in the lifecycles to other software components in the system. Each subsystem can then be operated in synchronism with the other subsystems by stepping in sequence through the respective lifecycles having stages such as set-up, process select, running up, running and running down.
Conveniently, the control system includes a sheet tracking subsystem. This enables the passage of sheets through the sheet handling system to be monitored allowing each node to respond as necessary upon arrival of a sheet at any of its connected components.
This is most conveniently achieved if the sheet tracking subsystem includes a sheet register for storing information about each sheet being processed by the sheet handling system. Such a sheet register could be maintained centrally but this would require a very fast response communications network. In practice, therefore, it is more convenient if a copy of the sheet register is stored in all nodes which implement the sheet tracking subsystem. In this way, each node and the software relating to the node""s attached components have immediate access to the local copy of the sheet register.
Typically, the sheet register will store information to enable the nodes to determine the estimated time of arrival of each sheet at each component associated with the node. The estimated time of arrival may be explicitly stored or it could be determined on each occasion it is required from the information in the sheet register such as the time of entry of a sheet into the sheet handling system. To determine the estimated time of arrival, each node will maintain a record, supplied on start-up, of the location of the component(s) relative to the sheet handling system entry point.
Preferably, the sheet tracking subsystem is adapted to update the information in the sheet register to account for variations in the expected passage of sheets. In some cases, a sheet may not follow its expected passage through the sheet handling system. For example, the sheet may slip in the transport or it may be rerouted to an alternative destination, for example if it is found to be counterfeit or the like. In these situations, the estimated time of arrival will need to be changed.
The sheet register may also store information relating to the destination of the sheet. From this information, each node can determine whether or not a sheet will need to be handled by the or one of the components attached to the node. This will reduce processing time during running since only those components which expect to receive the sheet need to determine its estimated time of arrival.
Typically, the stored destination will be the final destination in the system although it would also be possible to store an intermediate destination which is then updated during passage of the sheet. This allows dynamic re-routing of sheets in the event of the destined stacker suffering a malfunction. Where the stored destination is the final destination, each node preferably stores for the or each of its components a table indicating whether, for each possible destination, the sheet will be handled or monitored by the component.
In order to determine the destination of sheets fed into the sheet handling system, the system may further comprise a sheet routing subsystem which responds to information detected about the incoming sheet to determine its destination. Typically, the sheet routing subsystem will be implemented on a single node although the sheet routing software will be found on all nodes allowing any of the nodes to carry out that function. The node will be determined during set-up.